﻿function _EstadoPostulante() {

    this.Clie_ID = null;
    this.CodigoConvocatoria = null;

    this.PreInit = function () {
        var _parent = this;
    };


    this.EventoDespuesDeEnviarFicha = function () {
        var _parent = this;
        window.location = URL_PAGE + "Postulante/Inicio/Index?Clie_ID=" + _parent.Clie_ID + "&codConvocatoria=" + _parent.CodigoConvocatoria;
    }

    //Sirve para mostrar el modal para confirmar si desea enviar su ficha completa
    this.MostrarFormularioEnviarFicha = function () {
        
        var _parent = this;
        var form = _parent._getForm();
        if (form.find("#mostrar-modal").val() == "0") {
            
            if (!(form.find("#modo-administrador") && form.find("#modo-administrador").val() == "1")) {
            
                if (form.find("#listo-para-enviar-ficha").val() == "True") {
            
                    var modal = _parent._getModal(form.find("#mdlAvisoEnviarFichaDatos").html());

                    modal.find('.modal-header').find("h2").html("Enhorabuena!, usted ya completo su ficha");

                    modal.find('.modal-footer').find("#aceptar").val("Enviar ficha");
                    modal.find('.modal-footer').find("#aceptar").click(function () {
                        _parent.EnviarFicha();
                        modal.modal('hide');
                    })

                    modal.css({
                        'top': "40%",
                        'width': '600px',
                        'margin-left': function () {
                            return -($(this).width() / 2);
                        }
                    });

                    modal.modal();
                }
            }
        }

    };


    this.EnviarFicha = function () {

        var _parent = this;

        var confirmacion = _parent._MensajeConfirmacion();
        confirmacion.titulo = "Enviar Ficha";
        confirmacion.contenido = "¿Esta seguro de enviar la ficha?<br/> Después de ser enviado no podra modificar sus datos.";


        confirmacion.yes = function () {

            confirmacion.getModal.modal('hide');
            $.ajax({
                url: URL_PAGE + "Postulante/Ficha/EnviarFicha",
                data: {
                    Clie_ID: _parent.Clie_ID,
                    CodigoConvocatoria: _parent.CodigoConvocatoria
                },
                type: "post",
                success: function (data) {
                    var obj = data;
                    if (!obj.exito) {
                        _parent._MensajesOperacion("error", "Error de envío de ficha", "No puede enviar su ficha, aún le falta completar datos");
                    } else {
                        if (obj.excepcionAnioExperiencia) {

                            var confirmacionAnio = _parent._MensajeConfirmacion();
                            confirmacionAnio.titulo = "Enviar Ficha";
                            confirmacionAnio.contenido = "Usted no cumple el requisito de años de experiencia que es minimo de 3 años, desea enviar la ficha de todas maneras, esto tendra una validación adicional por ESAN.";
                            confirmacionAnio.yes = function () {
                                confirmacionAnio.getModal.modal('hide');
                                $.ajax({
                                    url: URL_PAGE + "Postulante/Ficha/EnviarFicha",
                                    data: {
                                        Clie_ID: _parent.Clie_ID,
                                        CodigoConvocatoria: _parent.CodigoConvocatoria,
                                        volverAEnviar: "True"
                                    },
                                    type: "post",
                                    success: function (data) {
                                        _parent.EventoDespuesDeEnviarFicha();
                                    }
                                });
                            };

                            confirmacionAnio.modal();
                        } else {
                            _parent.EventoDespuesDeEnviarFicha();
                        }
                    }
                }
            });
        };
        confirmacion.modal();
    };

  
    this.DesistirFicha = function () {
        if (confirm("¿Esta seguro en desistir su postulación?\n Después de esto ya no podrá continuar con el proceso de postulación.")) {
            $.ajax({
                url: URL_PAGE + "Postulante/Ficha/Desistir",
                data: {
                    Clie_ID: _parent.Clie_ID,
                    CodigoConvocatoria: _parent.CodigoConvocatoria
                },
                type: "post",
                success: function (data) {
                    window.location = URL_PAGE + "Postulante/Main/Desistir?Clie_ID=" + _parent.Clie_ID + "&CodigoConvocatoria=" + _parent.CodigoConvocatoria
                }
            });
        }
    };

    //Despues de cargar el formulario
    this._PostForm = function () {
        var _parent = this;
        _parent._CargarEventosForm();
        _parent.MostrarFormularioEnviarFicha();
       
    }

    /**
    Carga de eventos
    */
    this._CargarEventosForm = function () {

        var _parent = this;
        var form = _parent._getForm();

        form.find("#desistir").click(function () {
            _parent.DesistirFicha();
        });

        form.find("#enviar-ficha").click(function () {
            _parent.EnviarFicha();
        });

    }
}